package fauxman.DynamicElements;

import java.awt.Point;

import fauxman.PinkyStates.ChasePinkyState;
import fauxman.PinkyStates.EnteringHousePinkyState;
import fauxman.PinkyStates.ScatterPinkyState;
import fauxman.model.WorldModel;
import fauxman.states.GhostState;
import fauxman.states.LeavingHouseState;
import fauxman.utilities.ActionUtil;
import fauxman.utilities.SpriteUtil;

public class PinkyGhost extends Ghost{
	public PinkyGhost(int conX, int conY, int disX, int disY, int width,
			int height, WorldModel model) {
		super(conX, conY, disX, disY, width, height, model);
		states.add(LeavingHouseState.getInstance());
		states.getFirst().setAppearance(0, this);
		setCurrentDirection(ActionUtil.NORTH);
		setNextDirection(getCurrentDirection());
		this.lookAhead = new Point(disX, disY - 1); //TODO: maybe change behavior to future ghost vs. lookahead
	}

	public String toString(){
		return "PG";
	}
	
	public GhostState getScatterState() {
		return ScatterPinkyState.getInstance();
	}
	
	public GhostState getChaseState() {
		return ChasePinkyState.getInstance();
	}

	@Override
	public GhostState getEnteringGhostHouseState() {
		return EnteringHousePinkyState.getInstance();
	}
	
	@Override
	public void setNormalAppearance(int appearanceID) {
		setAppearance(SpriteUtil.getPinkySprite(appearanceID));
	}
}
